/*
 * Main.c
 *
 *  Created on: Jan 3, 2015
 *      Author: Sengo
 */

/**Escribir un programa (es decir una función main) que pida por teclado una serie de números enteros,
 * los almacene en una tabla estática y posteriormente escriba por pantalla todos los números introducidos
 * indicando además cual es el mayor y el menor. Lo primero que debe hacer el programa es preguntar al
 * usuario cuantos números se van a introducir y comprobar que dicha cantidad es menor que la dimensión de
 * la tabla. Para dicha dimensión debe definirse una constante (por ejemplo MAX_DIMENSION) a la cual se
 * puede asignar un valor razonable (por ejemplo, 100).**/

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>

#define MAX 100
#define OK 1
#define ERR -1869574000
#define CONTINUE 0

int main() {
	int numeros[MAX], num, i, number, continuar = CONTINUE, mayor, menor;
	char numero[] = "X";

	printf("Introduzca el número de números que desea introducir: ");
	scanf("%d", &num);
	if (num <= MAX) {
		memset(numeros, ERR, MAX* sizeof(int));
		for (i = 0; i < MAX && num != 0; i++) {
			printf("Introduzca número: ");
			while (continuar != OK) {
				scanf("%s", numero);
				if (isdigit(*numero)) {
					continuar = OK;
					number = atoi(numero);
				}
			}
			numeros[i] = number;
			continuar = CONTINUE;
			num--;
		}
		puts("Los números introducidos son:");
		for (i = 0; i < MAX; i++) {
			if (numeros[i] != ERR) {
				printf("%d\n", numeros[i]);
			}
		}
		mayor = 0;
		menor = numeros[0];
		for (i = 0; i < MAX; i++) {
			if (numeros[i] != ERR) {
				if (mayor < numeros[i]) {
					mayor = numeros[i];
				} else if (menor > numeros[i]) {
					menor = numeros[i];
				}
			}
		}
		printf("El mayor de la cadena es: %d\n", mayor);
		printf("El menor de la cadena es: %d\n", menor);
	} else {
		printf("Error no puede introducir tantos números");
	}
	return EXIT_SUCCESS;
}

